package AccionBoton;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ResourceBundle;

import javax.swing.JFrame;

import modelUtil.Configuracion;
import modelUtil.Util;
import paginas.BibliotecaMultimedia;
import paginas.PaginaEntornoCreacion;
import paginas.PaginaUsuarios;
import plantilla.PlantillaTO;
import usuario.usuarioTO.UsuarioTO;
import util.TecladoReal;
import fachadaPlantilla.delegate.PlantillaFacade;
import fachadaUsuario.delegate.UsuarioFacade;

public class AccionIrTeclado implements ActionListener{
	
	private JFrame _frame;
	private String _id;
	private UsuarioTO _user;
	
	public AccionIrTeclado(JFrame frame, String id, UsuarioTO user){
		_frame = frame;
		_id = id;
		_user = user;
	}
	
	public void actionPerformed(ActionEvent evt){
		if (_id.equals("LanzarTecladoPrincipal")){
			
			UsuarioFacade fachada = new UsuarioFacade();
			String tecladoPrincipal = _user.getTecladoPrincipal();
			PlantillaFacade plantilla = new PlantillaFacade();
			Configuracion.instancia().setDirUsuarioActual(Configuracion.instancia().getDirUsuarios() + _user.getNombre());
			if(tecladoPrincipal!=""){
			Configuracion.instancia().setTecladoActual(tecladoPrincipal);
			PlantillaTO plantillaTeclado = plantilla.RecuperarPlantilla(Configuracion.instancia().getDirUsuarioActual() + "//" + tecladoPrincipal);
			
			boolean barrido = false;
			int tiempoBarrido = 0;
			String barridoRequerido = _user.getBarrido();
			if(barridoRequerido.equals("Si")){
				barrido = true;
				tiempoBarrido = (int) Math.floor( (new Double(_user.getTiempoBarrido()) * 1000 ));
			}
			
			new TecladoReal(_frame, plantillaTeclado, barrido, tiempoBarrido, true);
			}else{
				
				Util.popup(0,ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_error_no_teclado"));
			}
		}else{
			if (_id.equals("Usuarios")){ 
				_frame.setContentPane(new PaginaUsuarios(_frame,0,13));
			}else{

					if(_id.equals("entornoCreacion"))
						new PaginaEntornoCreacion(_frame);
						
					if(_id.equals("bibliotecaMultimedia"))
						new BibliotecaMultimedia(_frame);
						
			}
		}
		
        _frame.pack();
        _frame.repaint();
	}
}
